/**
 * @param {number[]} nums
 * @return {number}
 */
 var wiggleMaxLength = function(nums) {
    // 特殊情况处理
    if(nums.length <= 1) return nums.length // 如果最多只有一个元素 那么返回元素的长度就行了
    let curDiff = 0 // 当前后面的和现在的值的差值
    let preDiff = 0 // 当前现在的和前面的差值
    let result = 0
    for(let i = 0;i < nums.length - 1;i++){
      curDiff = nums[i+1] - nums[i] // 计算后一个和前一个的差值
      if((curDiff > 0 && preDiff <= 0) || (curDiff < 0 && preDiff >= 0)){
        // 如果当前是递增 前一个是平或者递减 那么就结果++
        // 如果当前是递减或者平 并且后面是递增 那么还是result++
        // 修改之前的值为现在的值
        result++
        preDiff = curDiff
      }
    }
    return result // 遍历完成返回结果
};